Systems and methods for electronically managing content licenses

ABSTRACT

Systems and methods are provided for electronically managing content licenses. In one embodiment, information identifying content items found on a page is received from a client system through code embedded on the page, and a licensing database is searched to determine if the content is licensed and to determine the terms or payment method of the license. Systems and methods for associating advertisement data with licensed content items are also disclosed.

BACKGROUND

1. Field of the Invention

Embodiments of the disclosure generally relate to the field of contentlicensing, and in particular, to systems and methods for electronicallymanaging content licenses.

2. Description of the Related Art

Publishers of various types of content often include or incorporatecontent created by others in their publications. For example, a newsarticle may include a photo created by a third party. The owner of therights to that photo and the publisher of the article incorporating thephoto may wish to enter into a licensing arrangement whereby the contentowner is compensated for the publisher's use of the licensed content. Agiven publisher may license content from a large number of contentowners.

SUMMARY OF THE DISCLOSURE

Accordingly, there is a need for systems and methods that caneffectively manage content licenses electronically. In some embodiments,client and content identification information and page metadata isreceived from a client system, and a database comprising contentlicensing data is searched to determine if the content is licensed andto determine a payment method for the license. In some embodiments, adatabase comprising advertisement information is searched to determinean advertisement to associate with each piece of licensed content on awebpage, and advertisement data is sent to the client system.

In one embodiment, a computer system is disclosed. The system mayinclude computer-readable storage comprising a license database storinga plurality of records, the plurality of records comprising contentlicensing data, a processor configured to access the plurality ofrecords in the computer-readable storage, an input module configured toreceive from a client system a client identifier, at least one contentidentifier, and metadata about a webpage, the content identifierindicating content found on the webpage, and a licensing moduleconfigured to search the license database to determine if the content islicensed and to determine the payment method for the license.

In another embodiment, a computer implemented method of electronicallymanaging content licenses is disclosed. The computer implemented methodmay include receiving from a client system a client identifier, at leastone content identifier, and metadata about a webpage, the contentidentifier indicating content found on the webpage, searching a licensedatabase to determine if the content is licensed, searching anadvertiser database comprising information on a plurality ofadvertisements and determining which advertisement, if any, to associatewith each piece of licensed content on the webpage, and sendingadvertisement data to the client system.

For purposes of this summary, certain aspects, advantages, and novelfeatures of the invention are described herein. It is to be understoodthat not necessarily all such advantages may be achieved in accordancewith any particular embodiment of the invention. Thus, for example,those skilled in the art will recognize that the invention may beembodied or carried out in a manner that achieves one advantage or groupof advantages as taught herein without necessarily achieving otheradvantages as may be taught or suggested herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features, aspects and advantages of the presentinvention are described in detail below with reference to the drawingsof various embodiments, which are intended to illustrate and not tolimit the invention. The drawings comprise the following figures.

FIG. 1 is a high-level block diagram of one embodiment of a licensingsystem including a licensing server in communication with a clientsystem and an advertiser server.

FIG. 2 is a flow chart illustrating one embodiment of a process forelectronically managing content licenses.

FIG. 3 is a flow chart illustrating one embodiment of a process fordetermining which advertisements, if any, to send to a client system.

FIGS. 4A-4D are representations of various layouts of an advertisementand an associated piece of licensed content.

FIGS. 5A-5B are representations of the layout of a webpage before andafter associating advertisements with licensed content items.

FIG. 6 is a high-level block diagram illustrating one embodiment of asystem for electronically managing content licenses.

DESCRIPTION OF THE EMBODIMENTS

Although several embodiments, examples and illustrations are disclosedbelow, it will be understood by those of ordinary skill in the art thatthe invention described herein extends beyond the specifically disclosedembodiments, examples and illustrations and includes other uses of theinvention and obvious modifications and equivalents thereof. Embodimentsof the invention are described with reference to the accompanyingfigures, wherein like numerals refer to like elements throughout. Theterminology used in the description presented herein is not intended tobe interpreted in any limited or restrictive manner simply because it isbeing used in conjunction with a detailed description of certainspecific embodiments of the invention. In addition, embodiments of theinvention can comprise several novel features and no single feature issolely responsible for its desirable attributes or is essential topracticing the inventions herein described.

I. High-Level Overview

The content licensing system as contemplated by one embodiment of thedisclosure herein generally comprises a licensing server electronicallyconnected to one or more client systems and one or more advertiserservers through a communications network or networks. The communicationsnetwork may include one or more of a local area network (“LAN”), a widearea network (“WAN”), an intranet, a wired network, a wireless network,the Internet or the like. In one embodiment, the licensing servercomprises a Web server connected to the World Wide Web. Client systemsare then able to connect to the licensing server through theirrespective systems comprising any network-enabled and connected device,such as, for example, a personal computer (“PC”).

An example that considers the use of one embodiment of the licensingsystem with a hypothetical client system and publisher may beillustrative. Suppose for purposes of this example that thecommunications network is the Internet. Chris, an Internet user, sitsdown at his web-enabled PC, opens an Internet browser program, such asfor example, Internet Explorer, and accesses a publisher server, hostedon a web-server accessible via a network such as the World Wide Web.Suppose for purposes of this example that the publisher is The News, afictional publisher of news articles. Chris accesses a webpage on thepublisher server comprising, for example, HTML code. The webpage mayinclude both text of a news article written by The News and variousphotos that The News has obtained permission to use through licenseswith the content owners. The terms of the license associated with eachphoto may be stored in a licensing database accessible through thelicensing server. The News may include a small portion of code on eachof its webpages, for example a line of JavaScript, that instructs anyclient system accessing the webpage to request additional code from thelicensing server.

When Chris's Internet browser program processes the webpage, it executesthe embedded code and requests additional code from the licensingserver. The licensing server then sends additional code to Chris'ssystem that determines whether the page content includes potentiallylicensed content. Suppose that the webpage includes two licensed photosand one unlicensed photo. The additional code will determine that thepage includes potential licenses and will instruct Chris's system tosend data identifying The News and the content on the page, as well asother page metadata, to the licensing server. The licensing server thensearches the license database, as further discussed below, anddetermines the payment method for any licensed content on the page.Suppose for purposes of this example that the payment method for each ofthe two licensed photos on this webpage is inclusion of anadvertisement. In this case, the licensing server would determine anadvertisement to associate with each licensed photo, as furtherdiscussed below, and send this information to Chris's system. Theadditional code from the licensing server would then instruct Chris'sInternet browser program to display the associated advertisements, forexample by overlaying an advertisement over a portion of each licensedphoto on the webpage. Many other forms of advertisements and theirdisplay are also possible, as will be discussed below. The licensingsystem records Chris's views of the photos on the webpage andinformation regarding the corresponding advertisements sent to Chris'ssystem for display.

In this example, the resulting webpage displayed to Chris would comprisethe text of the article and the accompanying three photos, withadvertisements over a portion of the two licensed photos. Theadvertisements may also include links to the advertiser's server thatChris may select, for example by clicking on a hypertext link, in orderfor Chris to learn more about the subject of the advertisement. If Chrisdid select such a link, the advertisement selection information would besent to the licensing server to be recorded. Depending on the terms ofthe licenses, the licensing server may then determine, for each piece oflicensed content, what percentage of the money paid by the advertiserfor both views of its advertisements and clicks on its advertisementsbelongs to each The News and the content owner with rights to the photo.

FIG. 1 illustrates one embodiment of a content license management systemin which a licensing server 112 communicates with a client system 102and one or more advertiser servers 104 via a communications network ornetworks, such as the Internet 108. In one embodiment of the contentlicense management system, the licensing server 112, client system 102,and/or the advertiser server 104 may also be in communication with awebpage database 110. This may be through a similar or differentcommunications network as that labeled 108 in FIG. 1. In the embodimentshown in FIG. 1, the licensing server 112 comprises a licensing module114 and licensing database 116. In the embodiment shown, the advertiserserver 104 comprises an advertiser database 106. In other embodiments,the advertiser database 106 may be located on the licensing server 112.In some embodiments, a separate advertiser server 104 is not required,and the licensing server 112 may be responsible for advertisementselection.

II. Flowcharts

a. Managing Content Licenses

FIG. 2 is a system flowchart showing the operation of some embodimentsof the disclosure. The operation begins at block 222, where the clientsystem 202 loads a page of content for the user to view. The page ofcontent may be loaded from a webpage database accessible through anetwork, such as webpage database 110, or may be accessed locally from adatabase on the client system. The page of content may comprise one ormore photos, images, videos, text, Flash objects, and various types ofcode. One of skill in the art will appreciate the wide range of possiblecontent types that may comprise a page.

At block 224, the client system 202 uses code embedded in the page tosend a request for additional code from the licensing server 212. Insome embodiments, the embedded code is a small piece of code, such asone or two lines of JavaScript, which initiates contact between theclient system 202 and licensing server 212, such that the licensingserver 212 may further interact with the client system 202 as detailedbelow. In some embodiments, a publisher adds similar embedded code toany page in which the publisher may use licensed content. In someembodiments, it is desirable for the embedded code to not requiremodification if changes are made to either the content licensemanagement system or the page of content. Such code is desirable becausea publisher is more likely to utilize the content license managementsystem if changes to the system do not require changes on thepublisher's part. Additionally, the content license system is betterable to manage licenses if any adjustments made to the system do notrequire changes outside of the licensing server.

Next, at block 226, the licensing server 212 receives the request fromthe client system 202 for additional code. At block 228, the licensingserver 212 sends additional code to the client system 228. In someembodiments, the additional code instructs the client system to analyzethe page structure and check for potential licenses, as furtherdiscussed below. At block 230, the client system 202 receives theadditional code from the licensing server 212. Then, at block 232, theclient system executes the additional code to analyze the pagestructure. In some embodiments, analyzing the page structure comprisessearching the page for content of a type that may be licensed, and foreach such piece of content, analyzing the content and/or its associatedmetadata. For example, if the code recognizes that a given piece ofcontent is a photo, the code may analyze the dimensions of the photo,the file name, the file location or path, such as the file's UniformResource Locator (“URL”), and other metadata. At block 234, the clientsystem 202 uses the additional code to determine whether any of the pagecontent is potentially licensed. In some embodiments, this step does notdetermine whether content is in fact licensed, but instead determineswhether the analyzed content and associated metadata suggests that thecontent may be licensed. For example, in some embodiments the code mayuse a rule set to determine that certain content is unlikely to belicensed content. For instance, if the code determines that a givenimage is smaller than certain predetermined image dimensions, the codemay consider that the image is not potentially licensed content. Asanother example, the code may analyze the filename or URL for variousnaming conventions or URL patterns known to be used in association withlicensed content. In the embodiment shown in FIG. 2, if the clientsystem determines at block 234 that there are no potential licenses inthe page content, the process ends.

In some embodiments, if the client system 202 determines at block 234that there are potential licenses in the page content, the client systemsends information, such as for example, a publisher identifier, contentidentifiers, and page metadata, to the licensing server 212 at block236. For example, in some embodiments, if the client system determinesthat an image is potentially licensed, the client system sends to thelicensing server 212 information identifying the publisher of the page,the location or URL of the page, the dimensions of the image, and thelocation or URL of the image file. The information sent to the licensingserver may comprise other metadata associated with the page and/orpotentially licensed content, and may be dependent on the type ofcontent. The licensing server 212 then receives the publisheridentifier, content identifiers, and page metadata from the clientsystem 202 at block 238.

At block 240, the licensing server 212 determines whether to sendadvertisement information to the client system 202. In some embodiments,the licensing server makes this determination based on the process shownin FIG. 3. If the licensing server determines at block 240 thatadvertisement data should not be sent to the client system, the processmoves on to recording data at block 242, discussed below. If thelicensing server instead determines at block 240 that advertisement datashould be sent to the client system, the licensing server sends theadvertisement data to the client system 202 at block 244. Thisadvertisement data may take many forms, as discussed below in referenceto FIG. 3. After sending advertisement data, the licensing serverproceeds to block 242.

At block 242, the licensing server records asset views, license views,and metadata. In some embodiments, recording asset views comprisesrecording data related to each piece of content on the page, includingcontent that is not licensed. In other embodiments, informationregarding unlicensed content may only be recorded if certain rule setsare satisfied, such as a known URL pattern is recognized. One purposefor recording views of content that is not licensed is that contentowners who do not license their content through the content licensingmanagement system disclosed herein may be granted access to thisinformation in order to learn of potentially unauthorized use of theircontent. In some embodiments, the licensing server records informationregarding any advertisements that were sent to the client system, aswell as which advertisements were associated with which content items.One of skill in the art will appreciate the wide range of possiblemethods for recording the asset views, license views, and associateddata. In some embodiments, the data is stored in a database on thelicensing server, as further defined in section IV below.

On the client system side, if advertisement data was sent from thelicensing server at block 244, the client system 202 receives thisinformation at block 246 and incorporates the received advertisementsonto, adjacent to, or near the associated licensed content, or otherwisevisually associated with the licensed content. The example embodimentsof this advertisement incorporation are described in more detail belowin reference to FIGS. 4A-4D and 5A-5B. In some embodiments, the clientsystem may send data to the licensing server once the advertisement hasactually been displayed, and the licensing server may then record thatthe advertisement was viewed. In some embodiments, the advertisementsmay be selected by the user of the client system, for example by theuser placing a cursor over a portion of the advertisement and clicking amouse button, or by the user touching a portion of the advertisement ona touch-screen. The user may select an advertisement, for example, ifthe user wishes to learn more about the advertisement or visit a webpageassociated with the advertisement. If the user selects an advertisementat any point, the client system recognizes the selection at block 248.In some embodiments, the client system may recognize this selection byexecuting additional code received by the client system from thelicensing server when advertisement data was received at block 246.

If the client system determines at block 248 that the user selected anadvertisement, the client system sends this advertisement clickinformation to the licensing server 212 at block 250. In someembodiments, the advertisement click information may instead be sent toan advertiser server, and the licensing server may then receive theclick information from the advertiser server. At block 252, thelicensing server receives and records the user advertisement clickinformation from the client system. In some embodiments, the datarecorded comprises information identifying: the advertisement, theassociated licensed content item, the publisher, and the page. In someembodiments, the process is then complete for that content item, but theadditional code would continue to recognize additional user clicks atblock 248, such as selection of advertisements associated with otherlicensed content. In some embodiments, the process does not terminate onthe client system side until the page is no longer active on the clientsystem, such as when the user leaves the page by navigating his Internetbrowser to another page or by exiting the browser program.

It is recognized that FIG. 2 illustrates one embodiment of a process forelectronically managing content licenses, and that other embodiments ofthe content licensing management process may be used.

b. Sending Advertisement Data

FIG. 3 illustrates one embodiment of the process undertaken by thelicensing server in block 240 of FIG. 2, namely the decisional step ofwhether to send advertisement data to the client system. The processbegins at block 302, where the licensing server searches the licensingdatabase 304 for licensed content on the page. In some embodiments, thelicensing database 304 comprises information about a plurality oflicensed content items and the licensing terms associated with thatcontent. The licensing terms may comprise an indication of a paymentmethod for the license. In some embodiments, one possible payment methodis inclusion of an advertisement whenever a user views the licensedcontent on a publisher's page. Another possible payment method ismonetary compensation on a pay per view basis, wherein the publisherpays the content owner whenever a user views the licensed content on thepublisher's page, or at set milestones such as every hundred, thousand,or million views. In some embodiments, hybrid or combination paymentmethods are also possible, such as monetary compensation in addition toinclusion of an advertisement. In some embodiments, the licensing termsmay also comprise information regarding how advertising revenue isshared between different entities, such as between the publisher, thecontent owner, and/or the operator of the content licensing managementsystem.

At decisional block 306, the licensing server determines whether thereis advertisement-supported content on the page. In some embodiments, thelicensing server bases this decision at least in part on information inthe licensing database 304, such as through locating a record in thedatabase that corresponds to the given content item or content owner anddetermining whether the payment method associated with that licenserequires or permits inclusion of an advertisement. In some embodiments,the content owner may be determined based on an index in the licensingdatabase, a rule set, or a combination of an index and rule set. A ruleset may comprise, for example, naming conventions or URL patterns knownto be used by certain content owners to identify their content. Forexample, a rule may state that a file is likely to contain content ownedby a certain content owner if the filename contains a certain characterstring followed by a certain number of digits, or if the URL or filepath of the file comprises one or more directories that follow knownconventions of that content owner. In some embodiments, the contentowner or license terms may be identified based on metadata stored withthe content item, or based on page metadata where the file isreferenced. In some embodiments, this decisional step may additionallyanalyze the contents of the file, such as checking for digitalwatermarks or other identifying information. In some embodiments, thefile metadata or file contents analyzed by the licensing server maydepend on the type of licensed content. For example, in someembodiments, if the content is an image the licensing server may performimage analysis to determine if the image matches an image known to belicensed.

If the licensing server determines at decisional block 306 that there isno advertisement-supported licensed content on the page, the processends without sending any advertisement data to the client system.Alternatively, if there is advertisement-supported licensed content onthe page, the licensing server at block 308 searches the advertiserdatabase 310 to determine which advertisement, if any, to associate witheach license. In some embodiments, the advertiser database comprisesinformation on a plurality of advertisements. The information maycomprise, for example, identification information for an advertiser,monetary amount to be paid per view and per user click-through, and aURL for a file containing the advertisement content. The advertisementmay be in many forms, such as, for example, as described below inreference to FIGS. 4A-4D and 5A-5B. In some embodiments, the advertiserdatabase 310 is located on the same server as the licensing database116. In other embodiments, the advertiser database 310 is located on athird party server. In other embodiments, the licensing server 112 doesnot search an advertiser database, but instead leaves advertisementselection to another entity, such as Google AdSense. If an advertisementis selected, the advertisement data is then sent to the client system atblock 344.

It is recognized that FIG. 3 illustrates one embodiment of a process fordetermining whether to send advertisement data to the client system andthat other embodiments of the advertisement determination process may beused.

III. Example Content Layout

a. Layout of Content and Advertisement

FIGS. 4A-4D illustrate embodiments of various layouts of anadvertisement and an associated piece of licensed content. FIG. 4A is anexample of a content item 402 that may be encountered on a page. In thisexample, the content item is a photo. Potentially licensed content itemsmay be of many types, for example a content item may be an image, avideo, a text, an animation, a section of executable code, a Flashobject, or a collection or combination of content elements.

FIG. 4B illustrates one example of a licensed content item 404 with anassociated advertisement 406, according to one embodiment. In thisexample, the licensing server has determined, through a system or methodsuch as that detailed above in reference to FIGS. 2 and 3, that contentitem 404 is licensed and that the terms of that license require orpermit inclusion of an advertisement. The advertisement 406 has beenselected by the licensing server and received by the client systemthrough a system or method as disclosed in reference to FIGS. 2 and 3.FIG. 4B is a representation of one possible result of the client systemincorporating the advertisement 406 onto the licensed content 404, suchas at block 246 of FIG. 2. An advertisement may comprise various typesof content and may be of many forms. For example, an advertisement maybe an image, an animation, text, HTML text, an interactive game orprogram, a video, a movie preview, an invitation, or a combination orcollection of content elements. The advertisement 406 may by overlaid onthe image 404 as shown in FIG. 4B. The advertisement may be of variousshapes and sizes, and may move based on user actions or in apreprogrammed manner. In some embodiments, the advertisement 406 may beclosed or minimized by the user, or may be moved or dragged by the userto a different location on the page, such as off of the content item404. The advertisement may comprise code, or the page may comprise code,that allows the user to select the advertisement or a portion of theadvertisement in order to learn more information related to theadvertisement or to visit a page associated with the advertisement.

FIGS. 4C and 4D are representations of two alternative arrangements of acontent item 402 and associated advertisements 408 and 410 in someembodiments. As seen in these figures, in some embodiments theadvertisement may be placed adjacent to the content item on the pagesuch that the content item's appearance is unaffected by theincorporated advertisement. An advertisement may be placed in manylocations not shown in FIGS. 4A-4D, such as above the content item 402.

b. Layout in a Webpage

FIG. 5A is a representation of a layout of a webpage before any licensedcontent items have been identified by the content licensing managementsystem. The page 506 is displayed in the browser window 504. The page inFIG. 5A comprises lines of text (represented in the figure as lines) andimages 510, 512 and 514. As previously disclosed, a page may containmany other types of content, both licensed and unlicensed.

FIG. 5B is a representation of the webpage represented in FIG. 5A afteradvertisements have been incorporated with the licensed contentaccording to the systems and methods disclosed herein. In this example,the licensing server has determined that content items 511 and 513 arelicensed and that the license terms either require or permitadvertisement incorporation. Accordingly, advertisements 521 and 523have been incorporated with content items 511 and 513 respectively. Inthis example, advertisement 521 has been incorporated on top of orwithin content item 511. Advertisement 523 has been incorporatedadjacent to content item 513 on a previously unused portion of page 507.As shown in FIG. 5B, content item 514 has not had an advertisementincorporated with it. In some embodiments, this means that one of thefollowing may be true: content item 514 is not licensed content; contentitem 514 is licensed content but the payment method of the license doesnot include or permit advertisement incorporation; or content item 514is licensed content that permits advertisement incorporation, but anappropriate advertisement was not selected to be associated with thecontent item or the content item was not recognized by the contentlicensing management system.

IV. System

a. Licensing Server

In some embodiments, the systems, computer clients and/or serversdescribed above take the form of a licensing server 600 shown in FIG. 6,which is a block diagram of one embodiment of a computing system (whichcan be a fixed system or mobile device) that is in communication withone or more computing systems 620 and/or one or more data sources 625via one or more networks 610. The licensing server 600 may be used toimplement one or more of the systems and methods described herein. WhileFIG. 6 illustrates one embodiment of a licensing server 600, it isrecognized that the functionality provided for in the components andmodules of licensing server 600 may be combined into fewer componentsand modules or further separated into additional components and modules.

In one embodiment, the licensing server 600 also comprises a computersuitable for controlling and/or communicating with large databases andperforming high volume processing. The licensing server 600 alsocomprises a central processing unit (“CPU”) 604, which may comprise aconventional microprocessor. The licensing server 600 further comprisesa memory 605, such as random access memory (“RAM”) for temporary storageof information and/or a read only memory (“ROM”) for permanent storageof information, and a mass storage device 601, such as a hard drive,diskette, or optical media storage device. Typically, the modules of thelicensing server 600 are connected to the computer using a standardsbased bus system. In different embodiments, the standards based bussystem could be Peripheral Component Interconnect (PCI), Microchannel,SCSI, Industrial Standard Architecture (ISA) and Extended ISA (EISA)architectures, for example.

The exemplary licensing server 600 comprises one or more commonlyavailable input/output (I/O) devices and interfaces 603, such as akeyboard, mouse, touchpad, and printer. In one embodiment, the I/Odevices and interfaces 603 comprise one or more display devices, such asa monitor, that allows the visual presentation of data to a user. Moreparticularly, a display device provides for the presentation of GUIs,application software data, and multimedia presentations, for example. Inthe embodiment of FIG. 6, the I/O devices and interfaces 603 alsoprovide a communications interface to various external devices. Thelicensing server 600 may also comprise one or more multimedia devices602, such as speakers, video cards, graphics accelerators, andmicrophones, for example.

b. Components

i. Module

In one embodiment, the processes, systems, and methods illustrated abovemay be embodied in part or in whole in software that is running on acomputing device. The functionality provided for in the components andmodules of the computing device may comprise one or more componentsand/or modules. For example, the computing device may comprise multiplecentral processing units (CPUs) and a mass storage device, such as maybe implemented in an array of servers.

In general, the word “module,” as used herein, refers to logic embodiedin hardware or firmware, or to a collection of software instructions,possibly having entry and exit points, written in a programminglanguage, such as, for example, Java, C or C++, or the like. A softwaremodule may be compiled and linked into an executable program, installedin a dynamic link library, or may be written in an interpretedprogramming language such as, for example, BASIC, Perl, Lua, or Python.It will be appreciated that software modules may be callable from othermodules or from themselves, and/or may be invoked in response todetected events or interrupts. Software instructions may be embedded infirmware, such as an EPROM. It will be further appreciated that hardwaremodules may be comprised of connected logic units, such as gates andflip-flops, and/or may be comprised of programmable units, such asprogrammable gate arrays or processors. The modules described herein arepreferably implemented as software modules, but may be represented inhardware or firmware. Generally, the modules described herein refer tological modules that may be combined with other modules or divided intosub-modules despite their physical organization or storage.

ii. Computing Device

The licensing server 600 may run on a variety of computing devices, suchas, for example, a server, a Windows server, a Structure Query Languageserver, a Unix server, a personal computer, a mainframe computer, alaptop computer, a cell phone, a personal digital assistant, a kiosk, anaudio player, and so forth. The licensing server 600 is generallycontrolled and coordinated by operating system software, such as z/OS,Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, WindowsVista, Linux, BSD, SunOS, Solaris, or other compatible operatingsystems. In Macintosh systems, the operating system may be any availableoperating system, such as MAC OS X. In other embodiments, the licensingserver 600 may be controlled by a proprietary operating system.Conventional operating systems control and schedule computer processesfor execution, perform memory management, provide file system,networking, and I/O services, and provide a user interface, such as agraphical user interface (“GUI”), among other things.

iii. Network

In the embodiment of FIG. 6, the licensing server 600 is coupled to anetwork 610, such as a LAN, WAN, or the Internet, for example, via awired, wireless, or combination of wired and wireless, communicationlink. The network 610 communicates with various computing devices and/orother electronic devices via wired or wireless communication links. Inthe exemplary embodiment of FIG. 6, the network 610 is communicatingwith one or more computing systems 620 and/or one or more data sources625.

iv. Input/Output Devices and Interfaces

Access to the licensing module 606 of the licensing server 600 bycomputing systems 620 and/or by data sources 625 may be through aweb-enabled user access point such as the computing systems' 620 or datasource's 625 personal computer, cellular phone, laptop, or other devicecapable of connecting to the network 610. Such a device may have abrowser module, implemented as a module that uses text, graphics, audio,video, and other media to present data and to allow interaction withdata via the network 610.

The browser module or other output module may be implemented as acombination of an all points addressable display such as a cathode-raytube (CRT), a liquid crystal display (LCD), a plasma display, or othertypes and/or combinations of displays. In addition, the browser moduleor other output module may be implemented to communicate with inputdevices 603 and may also comprise software with the appropriateinterfaces which allow a user to access data through the use of stylizedscreen elements such as, for example, menus, windows, dialog boxes,toolbars, and controls (for example, radio buttons, check boxes, slidingscales, and so forth). Furthermore, the browser module or other outputmodule may communicate with a set of input and output devices to receivesignals from the user.

The input device(s) may comprise a keyboard, roller ball, pen andstylus, mouse, trackball, voice recognition system, or pre-designatedswitches or buttons. The output device(s) may comprise a speaker, adisplay screen, a printer, or a voice synthesizer. In addition a touchscreen may act as a hybrid input/output device. In another embodiment, auser may interact with the system more directly such as through a systemterminal connected to the score generator without communications overthe Internet, a WAN, or LAN, or similar network.

v. Remote

In some embodiments, the licensing server 600 may comprise a physical orlogical connection established between a remote microprocessor and amainframe host computer for the express purpose of uploading,downloading, or viewing interactive data and databases on-line in realtime. The remote microprocessor may be operated by an entity operatingthe licensing server 600, including the client server systems or themain server system, and/or may be operated by one or more of the datasources 625 and/or one or more of the computing systems. In someembodiments, terminal emulation software may be used on themicroprocessor for participating in the micro-mainframe link.

In some embodiments, computing systems 620 that are internal to anentity operating the licensing server 600 may access the licensingmodule 606 internally as an application or process run by the CPU 604.

vi. Database

In some embodiments, the computing device(s) communicates with one ormore databases that store information on content, licenses, advertisers,advertisements, pages, and/or publishers. This database or databases maybe implemented using a relational database, such as SQLite, Sybase,Oracle, CodeBase, mySQL, and Microsoft® SQL Server as well as othertypes of databases such as, for example, a flat file database, anentity-relationship database, an object-oriented database, and/or arecord-based database.

vii. Other Systems

In addition to the systems that are illustrated in FIG. 6, the network610 may communicate with other data sources or other computing devices.The licensing server 600 may also comprise internal and/or external datasources not illustrated in FIG. 6.

In some embodiments, the acts, methods, and processes described hereinare implemented within, or using, software modules (programs) that areexecuted by one or more general purpose computers. The software modulesmay be stored on or within any suitable computer-readable medium. Itshould be understood that the various steps may alternatively beimplemented in-whole or in-part within specially designed hardware. Theskilled artisan will recognize that not all calculations, analysesand/or optimization require the use of computers, though any of theabove-described methods, calculations or analyses can be facilitatedthrough the use of computers.

Conditional language, such as, among others, “can,” “could,” “might,” or“may,” unless specifically stated otherwise, or otherwise understoodwithin the context as used, is generally intended to convey that certainembodiments include, while other embodiments do not include, certainfeatures, elements and/or steps. Thus, such conditional language is notgenerally intended to imply that features, elements and/or steps are inany way required for one or more embodiments or that one or moreembodiments necessarily include logic for deciding, with or without userinput or prompting, whether these features, elements and/or steps areincluded or are to be performed in any particular embodiment.

V. Additional Embodiments

Although this invention has been disclosed in the context of certainpreferred embodiments and examples, it will be understood by thoseskilled in the art that the present invention extends beyond thespecifically disclosed embodiments to other alternative embodimentsand/or uses of the invention and obvious modifications and equivalentsthereof. Additionally, the skilled artisan will recognize that any ofthe above-described methods can be carried out using any appropriateapparatus. Further, the disclosure herein of any particular feature inconnection with an embodiment can be used in all other disclosedembodiments set forth herein. Thus, it is intended that the scope of thepresent invention herein disclosed should not be limited by theparticular disclosed embodiments described above.

1. A computer implemented method of electronically managing contentlicenses comprising: sending code to a client system, wherein the code,when executed by the client system, instructs the client system toanalyze content of a webpage and determine if the webpage includespotentially licensed content; as a result of the code sent to the clientsystem and executed by the client system, receiving from the clientsystem at least one content identifier, wherein each of the at least onecontent identifiers identifies a piece of potentially licensed contentfound on the webpage; identifying at least one piece of licensedcontent, wherein the at least one piece of licensed content isidentified at least in part by searching a license database to determineif the content identified by the at least one content identifier islicensed content; for at least one piece of content determined to belicensed content, searching an advertiser database comprisinginformation on a plurality of advertisements and determining whichadvertisement, if any, to associate with the at least one piece oflicensed content; and sending advertisement data to the client system,such that the client system may present for display an advertisementassociated with the at least one piece of licensed content.
 2. Thecomputer implemented method of claim 1, further comprising recordingviews of assets on the webpage.
 3. The computer implemented method ofclaim 1, further comprising recording views of licensed content on thewebpage.
 4. The computer implemented method of claim 1, furthercomprising recording metadata about the webpage.
 5. The computerimplemented method of claim 1, further comprising: receiving informationregarding a user selection of an advertisement associated with licensedcontent; and recording the user advertisement selection information. 6.The computer implemented method of claim 1, wherein the advertisementdatabase is located on a third party server.
 7. The computer implementedmethod of claim 1, wherein the advertisement database is located on thesame server as the licensing database.
 8. A storage medium having acomputer program stored thereon for causing a suitably programmed systemto process computer-program code by performing the computer implementedmethod of claim 1 when such program is executed on the system.
 9. Asystem for electronically managing content licenses, the systemcomprising: a license data store that stores content licensing data; anda computing device in communication with the data store and that isoperative to: send code to a client system, wherein the code, whenexecuted by the client system, instructs the client system to analyzecontent of a webpage and determine if the webpage includes potentiallylicensed content; as a result of the code sent to the client system andexecuted by the client system, receive from the client system at leastone content identifier, wherein each of the at least one contentidentifiers identifies a piece of potentially licensed content found onthe webpage; identify at least one piece of licensed content, whereinthe at least one piece of licensed content is identified at least inpart by searching the license data store to determine if the contentidentified by the at least one content identifier is licensed content;for at least one piece of content determined to be licensed content,search an advertiser database comprising information on a plurality ofadvertisements and determining which advertisement, if any, to associatewith the at least one piece of licensed content; and send advertisementdata to the client system, such that the client system may present fordisplay an advertisement associated with the at least one piece oflicensed content.
 10. The system of claim 9, the computing devicefurther operative to record views of assets on the webpage.
 11. Thesystem of claim 9, the computing device further operative to recordviews of licensed content on the webpage.
 12. The system of claim 9, thecomputing device further operative to record metadata about the webpage.13. The system of claim 9, the computing device further operative toreceive information regarding a user selection of an advertisementassociated with licensed content and to record the user advertisementselection information.
 14. The system of Claim 9, wherein theadvertisement database is located on a third party server.
 15. Thesystem of Claim 9, wherein the advertisement database is located on thesame server as the licensing database.